削除された SNS のサブスクリプションを再度サブスクライブすることができない場合の対処方法
困っていた内容
設定していた Amazon SNS のサブスクリプションが削除済みのステータスとなっていたため、再度サブスクライブを行いたいのですが、以下のエラーが発生してしまいます。対処方法を教えてください。
Error code: InvalidParameter - Error message: Invalid parameter: SubscriptionArn Reason: An ARN must have at least 6 elements, not 1
どう対応すればいいの?
「削除済み」ステータスのサブスクリプションは、Amazon SNS によって自動で削除されるまでに 72時間程度 かかります。 Unsubscribe されたサブスクリプションを再サブスクライブする場合は、72 時間経過し完全に削除されたことを確認した後に実施いただく必要があります。
サブスクリプションが削除されるまで 3 日かかります。デフォルトでは、Amazon SNS は 3 日以内に PendingConfirmation を使用してサブスクリプションを自動的に削除します。
サブスクリプションが「削除済み」ステータスである間に、Delete ボタンを押下して削除しようとすると、ID が ARN ではなく、Deleted という文字列となっているため、当初に記載したエラーが表示され削除することができません。
72時間経過後も対象のサブスクリプションが「削除済み」のステータスのまま存在し続ける場合は、AWS サポートへの確認を行なってください。
なぜ削除済みのステータスになった?
考えられる原因と致しましては、以下の通りとなります。
トピックのサブスクリプションが、アカウントから削除されずに [削除済み] ステータスになる場合、次の 2 つの理由があります。
・Amazon SNS トピックメーリングリストのメンバーは、トピックから送信された電子メールメッセージのサブスクリプション解除リンクを選択した。
・トピックをサブスクライブしている別の AWS アカウントにある Amazon Simple Queue Service (Amazon SQS) キューがクロスアカウントのサブスクリプションを削除した。
トピックから送信された電子メールメッセージのサブスクリプション解除用のリンクへアクセスした場合、CloudTrail に Unsubscribe API の呼び出し履歴が記録されないため、注意が必要となります。
上記動作が実行された場合、サブスクリプションのエンドポイントのメールアドレス宛に「AWS Notification - Unsubscribe Confirmation」という件名のメールが届きます。必要に応じて、Amazon SNS メール通知の Unsubscribe リンクを無効化する方法にてご対応いただくことをご検討ください。